]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lint: Convert eslint JSON to YAML
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 19 Aug 2019 17:20:55 +0000 (19:20 +0200)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Mon, 11 Nov 2019 23:51:17 +0000 (23:51 +0000)
gjs has changed its configuration to YAML, so switch to that format
to keep syncing possible.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/818

.eslintrc.json [deleted file]
.eslintrc.yml [new file with mode: 0644]
.gitlab-ci/run-eslint.sh
lint/eslintrc-gjs.json [deleted file]
lint/eslintrc-gjs.yml [new file with mode: 0644]
lint/eslintrc-legacy.json [deleted file]
lint/eslintrc-legacy.yml [new file with mode: 0644]
lint/eslintrc-shell.json [deleted file]
lint/eslintrc-shell.yml [new file with mode: 0644]

diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644 (file)
index 30afb59..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-    "extends": [
-        "./lint/eslintrc-gjs.json",
-        "./lint/eslintrc-shell.json"
-    ]
-}
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644 (file)
index 0000000..5e3347d
--- /dev/null
@@ -0,0 +1,3 @@
+extends:
+ - ./lint/eslintrc-gjs.yml
+ - ./lint/eslintrc-shell.yml
index 103ba9361108b98d6660c1b0d34e3c345f4ae473..8b1f8c1a92b8dafcb24a70c50de443699bde1735 100755 (executable)
@@ -13,7 +13,7 @@ is_empty() {
 }
 
 run_eslint() {
-  ARGS_LEGACY='--config lint/eslintrc-legacy.json'
+  ARGS_LEGACY='--config lint/eslintrc-legacy.yml'
 
   local extra_args=ARGS_$1
   local output_var=OUTPUT_$1
diff --git a/lint/eslintrc-gjs.json b/lint/eslintrc-gjs.json
deleted file mode 100644 (file)
index 74cadf2..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-{
-    "env": {
-        "es6": true
-    },
-    "extends": "eslint:recommended",
-    "rules": {
-        "array-bracket-newline": [
-            "error",
-            "consistent"
-        ],
-        "array-bracket-spacing": [
-            "error",
-            "never"
-        ],
-        "arrow-spacing": "error",
-        "brace-style": "error",
-        "comma-spacing": [
-            "error",
-            {
-                "before": false,
-                "after": true
-            }
-        ],
-        "indent": [
-            "error",
-            4,
-            {
-                "ignoredNodes": [
-                    "CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
-                ],
-                "MemberExpression": "off"
-            }
-        ],
-        "key-spacing": [
-            "error",
-            {
-                "beforeColon": false,
-                "afterColon": true
-            }
-        ],
-        "keyword-spacing": [
-            "error",
-            {
-                "before": true,
-                "after": true
-            }
-        ],
-        "linebreak-style": [
-            "error",
-            "unix"
-        ],
-        "no-empty": [
-            "error",
-            {
-                "allowEmptyCatch": true
-            }
-        ],
-        "no-implicit-coercion": [
-            "error",
-            {
-                "allow": ["!!"]
-            }
-        ],
-        "no-restricted-properties": [
-            "error",
-            {
-                "object": "Lang",
-                "property": "bind",
-                "message": "Use arrow notation or Function.prototype.bind()"
-            },
-            {
-                "object": "Lang",
-                "property": "Class",
-                "message": "Use ES6 classes"
-            }
-        ],
-        "nonblock-statement-body-position": [
-            "error",
-            "below"
-        ],
-        "object-curly-newline": [
-            "error",
-            {
-                "consistent": true
-            }
-        ],
-        "object-curly-spacing": "error",
-        "prefer-template": "error",
-        "quotes": [
-            "error",
-            "single",
-            {
-                "avoidEscape": true
-            }
-        ],
-        "semi": [
-            "error",
-            "always"
-        ],
-        "semi-spacing": [
-            "error",
-            {
-                "before": false,
-                "after": true
-            }
-        ],
-        "space-before-blocks": "error",
-        "space-infix-ops": [
-            "error",
-            {
-                "int32Hint": false
-            }
-        ]
-    },
-    "globals": {
-        "ARGV": false,
-        "Debugger": false,
-        "GIRepositoryGType": false,
-        "imports": false,
-        "Intl": false,
-        "log": false,
-        "logError": false,
-        "print": false,
-        "printerr": false,
-        "window": false
-    },
-    "parserOptions": {
-        "ecmaVersion": 2017
-    }
-}
diff --git a/lint/eslintrc-gjs.yml b/lint/eslintrc-gjs.yml
new file mode 100644 (file)
index 0000000..50da632
--- /dev/null
@@ -0,0 +1,88 @@
+---
+env:
+  es6: true
+extends: 'eslint:recommended'
+rules:
+  array-bracket-newline:
+    - error
+    - consistent
+  array-bracket-spacing:
+    - error
+    - never
+  arrow-spacing: error
+  brace-style: error
+  comma-spacing:
+    - error
+    - before: false
+      after: true
+  indent:
+    - error
+    - 4
+    - ignoredNodes:
+      # Allow not indenting the body of GObject.registerClass, since in the
+      # future it's intended to be a decorator
+      - 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
+      # Allow dedenting chained member expressions
+      MemberExpression: 'off'
+  key-spacing:
+    - error
+    - beforeColon: false
+      afterColon: true
+  keyword-spacing:
+    - error
+    - before: true
+      after: true
+  linebreak-style:
+    - error
+    - unix
+  no-empty:
+    - error
+    - allowEmptyCatch: true
+  no-implicit-coercion:
+    - error
+    - allow:
+      - '!!'
+  no-restricted-properties:
+    - error
+    - object: Lang
+      property: bind
+      message: Use arrow notation or Function.prototype.bind()
+    - object: Lang
+      property: Class
+      message: Use ES6 classes
+  nonblock-statement-body-position:
+    - error
+    - below
+  object-curly-newline:
+    - error
+    - consistent: true
+  object-curly-spacing: error
+  prefer-template: error
+  quotes:
+    - error
+    - single
+    - avoidEscape: true
+  semi:
+    - error
+    - always
+  semi-spacing:
+    - error
+    - before: false
+      after: true
+  space-before-blocks: error
+  space-infix-ops:
+    - error
+    - int32Hint: false
+globals:
+  ARGV: readonly
+  Debugger: readonly
+  GIRepositoryGType: readonly
+  imports: readonly
+  Intl: readonly
+  log: readonly
+  logError: readonly
+  print: readonly
+  printerr: readonly
+  window: readonly
+parserOptions:
+  ecmaVersion: 2017
diff --git a/lint/eslintrc-legacy.json b/lint/eslintrc-legacy.json
deleted file mode 100644 (file)
index e49d5c6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "rules": {
-        "indent": [
-            "error",
-            4,
-            {
-                "ignoredNodes": [
-                    "CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
-                ],
-                "CallExpression": { "arguments": "first" },
-                "ArrayExpression": "first",
-                "ObjectExpression": "first",
-                "MemberExpression": "off"
-            }
-        ],
-        "prefer-template": "off",
-        "quotes": "off"
-   }
-}
diff --git a/lint/eslintrc-legacy.yml b/lint/eslintrc-legacy.yml
new file mode 100644 (file)
index 0000000..b67f914
--- /dev/null
@@ -0,0 +1,13 @@
+rules:
+  indent:
+    - error
+    - 4
+    - ignoredNodes:
+      - 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
+      CallExpression:
+        arguments: first
+      ArrayExpression: first
+      ObjectExpression: first
+      MemberExpression: off
+  prefer-template: off
+  quotes: off
diff --git a/lint/eslintrc-shell.json b/lint/eslintrc-shell.json
deleted file mode 100644 (file)
index 1cae2f4..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-    "rules": {
-        "camelcase": [
-            "error",
-            {
-                "properties": "never",
-                "allow": ["^vfunc_", "^on_"]
-            }
-        ],
-        "consistent-return": "error",
-        "key-spacing": [
-            "error",
-            {
-                "mode": "minimum",
-                "beforeColon": false,
-                "afterColon": true
-            }
-        ],
-        "no-unused-vars": [
-            "error",
-            {
-                "argsIgnorePattern": "^_",
-                "varsIgnorePattern": "_$"
-            }
-        ],
-        "object-curly-spacing": [
-            "error",
-            "always"
-        ],
-        "prefer-arrow-callback": "error"
-    },
-
-    "overrides": [
-        {
-            "files": "js/**",
-            "excludedFiles": ["js/extensionPrefs/*", "js/portalHelper/*"],
-            "globals": {
-                "global": false,
-                "_": false,
-                "C_": false,
-                "N_": false,
-                "ngettext": false
-            }
-        }
-    ]
-}
diff --git a/lint/eslintrc-shell.yml b/lint/eslintrc-shell.yml
new file mode 100644 (file)
index 0000000..302dbca
--- /dev/null
@@ -0,0 +1,31 @@
+rules:
+  camelcase:
+    - error
+    - properties: never
+      allow: [^vfunc_, ^on_]
+  consistent-return: error
+  key-spacing:
+    - error
+    - mode: minimum
+      beforeColon: false
+      afterColon: true
+  no-unused-vars:
+    - error
+    - argsIgnorePattern: ^_
+      varsIgnorePattern: _$
+  object-curly-spacing:
+    - error
+    - always
+  prefer-arrow-callback: error
+
+overrides:
+  - files: js/**
+    excludedFiles:
+      - js/extensionPrefs/*
+      - js/portalHelper/*
+    globals:
+      global: readonly
+      _: readonly
+      C_: readonly
+      N_: readonly
+      ngettext: readonly